#ifndef INPUTMANAGER_H
#define INPUTMANAGER_H

#include <string>
#include <vector>
#include "Sprite.h"

using namespace std;

class InputManager{
    public:
        Uint8 *keyState;
        vector<Uint8> keyDownState;
        vector<Uint8> keyUpState;
        vector<Uint8> mouseDownState;
        vector<Uint8> mouseUpState;

        bool isKeyDown(int key);
        bool isKeyUp(int key);
        bool isKeyPressed(int key);
        bool isMouseDown(int button);
        bool isMouseUp(int button);
        bool isMousePressed(int button);
        int mousePosX();
        int mousePosY();
        bool isMouseInside(Sprite *sprite);
        static InputManager* getInstance();
        bool Update();

    private:
        static InputManager *instance;
        InputManager();
        int x,y;
        bool quit;
};

#endif //INPUTMANAGER_H




